package com.ipartek.desarrollo.beanHibernate;

// Generated 26-feb-2014 21:38:33 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Convocatorias generated by hbm2java
 */
@Entity
@Table(name = "convocatorias")
public class Convocatorias implements java.io.Serializable {

	private int codconvoca;
	private Cursos cursos;
	private Date fechainicio;
	private Date fechafin;
	private Set<Matricula> matriculas = new HashSet<Matricula>(0);
	private Set<Horariocurso> horariocursos = new HashSet<Horariocurso>(0);

	public Convocatorias() {
	}

	public Convocatorias(int codconvoca) {
		this.codconvoca = codconvoca;
	}

	public Convocatorias(int codconvoca, Cursos cursos, Date fechainicio,
			Date fechafin, Set<Matricula> matriculas,
			Set<Horariocurso> horariocursos) {
		this.codconvoca = codconvoca;
		this.cursos = cursos;
		this.fechainicio = fechainicio;
		this.fechafin = fechafin;
		this.matriculas = matriculas;
		this.horariocursos = horariocursos;
	}

	@Id
	@Column(name = "CODCONVOCA", unique = true, nullable = false)
	public int getCodconvoca() {
		return this.codconvoca;
	}

	public void setCodconvoca(int codconvoca) {
		this.codconvoca = codconvoca;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "CODCURSO")
	public Cursos getCursos() {
		return this.cursos;
	}

	public void setCursos(Cursos cursos) {
		this.cursos = cursos;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FECHAINICIO", length = 19)
	public Date getFechainicio() {
		return this.fechainicio;
	}

	public void setFechainicio(Date fechainicio) {
		this.fechainicio = fechainicio;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FECHAFIN", length = 19)
	public Date getFechafin() {
		return this.fechafin;
	}

	public void setFechafin(Date fechafin) {
		this.fechafin = fechafin;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "convocatorias")
	public Set<Matricula> getMatriculas() {
		return this.matriculas;
	}

	public void setMatriculas(Set<Matricula> matriculas) {
		this.matriculas = matriculas;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "convocatorias")
	public Set<Horariocurso> getHorariocursos() {
		return this.horariocursos;
	}

	public void setHorariocursos(Set<Horariocurso> horariocursos) {
		this.horariocursos = horariocursos;
	}

}
